<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>

        /*
            reduce  
                - 可以用来求元素的和
                -使用。。。减少 
            参数
                ：第一个参数  是一个回调函数
                    这个回调函数有两个参数-
                        一个sum 累积变量---
                                sum第一次的值是 后面的那个初始值
                                sum全他次的值是 是这个参数函数的返回值
                        一个 v 数组的中元素
                ： 第二个参数  
                        第二个参数值 是sum 累积变量的初始值  

            参数
                ：第一个参数  是一个回调函数
                    这个回调函数有两个参数-
                        一个sum 累积变量---
                                sum第一次的值是 就是 第一个元素的值
                                sum其他他次的值是 是这个参数函数的返回值
                        一个 v  （从第二个元素开始）数组的中元素
              


            reduce的返回值 就是 最后累积的结果




           arr.reduce(function(sum,v){
                return sum + v
           },sum的初始值)     
        
        */
        var arr = [3, 1, 6];

        // var sum = 0;
        // for (var i = 0; i < arr.length; i++) {
        //     sum = sum + arr[i]
        // }

        // 把数组中从第二个开始元素 都累加到第一个元素上了
        var res = arr.reduce(function (sum, v) {
            // 0 3-> return 0+3
            // 3 1->return 3+1 
            // 4 6->return 4+6 
            console.log(sum, v);
            return sum + v
        }, 0);

        // reduce的返回值 就是 最后累积的结果
        console.log(res);




        // var sum = arr[0];
        // for (var i = 1; i < arr.length; i++) {
        //     sum = sum + arr[i]
        // }
        // console.log(sum);
        // var res = arr.reduce(function (sum, v) {
        //     // 3 1-->return 3+1
        //     // 4 6-->return 4+6
        //     console.log(sum, v);
        //     return sum + v
        // });
        // // reduce的返回值 就是 最后累积的结果
        // console.log(res);


        var res2 = arr.reduce(function (sum, v) {
            // ''+ 3  return '3'
            // '3'+1 return '31'
            return sum + v;
        }, '');
        console.log(res2);
    </script>

</body>

</html>